use-def chain(使用-定义链):编译器与程序分析中的概念,指在程序中某个变量的一次使用(use)可能对应到哪些可能的定义点(def);也就是把“这里用到的值,可能是从哪里被赋值/定义来的”连接成链,用于数据流分析、优化与静态检查等。(相关概念还有 def-use chain,方向相反。)
/ˈjuːz dɛf tʃeɪn/
由 use(使用)与 def(definition 的缩写,定义/赋值)加上 chain(链)组合而成。该术语常见于数据流分析(data-flow analysis)与静态单赋值形式(SSA)等编译器领域,用来描述变量“值的来源”与“值的去向”之间的对应关系。
The compiler builds a use-def chain to track where a variable’s value comes from.
编译器会构建使用-定义链,用来追踪变量的值来自哪里。
In programs with branches, a single use may have multiple reaching definitions, so the use-def chain can include several possible def sites.
在包含分支的程序中,同一次使用可能对应多个可达定义点,因此使用-定义链可能包含多个潜在的定义位置。